package org.jpxx.sec.common.util;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 分页List
 * 
 * @author Jun Li lijun@jpxx.org (http://www.jpxx.org)
 * @version 1.0.0 $ org.jpxx.sec.common.util.PageList.java $, $Date: 2009-5-2 $
 * 
 */
public class PageList extends ArrayList {
	/**
	 * Comment for <code>serialVersionUID</code>
	 */
	private static final long serialVersionUID = 3257568390985103409L;
	private Pager paginator;

	/**
	 * 创建一个<code>PageList</code>。
	 */
	public PageList() {
		paginator = new Pager();
	}

	/**
	 * 创建<code>PageList</code>，并将指定<code>Collection</code>中的内容复制到新的list中。
	 * 
	 * @param c
	 *            要复制的<code>Collection</code>
	 */
	public PageList(Collection c) {
		this(c, null);
	}

	/**
	 * 创建<code>PageList</code>，并将指定<code>Collection</code>中的内容复制到新的list中。
	 * 
	 * @param c
	 *            要复制的<code>Collection</code>
	 */
	public PageList(Collection c, Pager paginator) {
		super(c);
		this.paginator = (paginator == null) ? new Pager() : paginator;
	}

	/**
	 * 取得分页器，可从中取得有关分页和页码的所有信息。
	 * 
	 * @return 分页器对象
	 */
	public Pager getPaginator() {
		return paginator;
	}

	/**
	 * 设置分页器。
	 * 
	 * @param paginator
	 *            要设置的分页器对象
	 */
	public void setPaginator(Pager paginator) {
		if (paginator != null) {
			this.paginator = paginator;
		}
	}
}
